Create Checkout Session
Request to create a session identifier for the checkout interaction. The session identifier, when included in the Checkout.configure() function, allows you to return the payer to the merchant's website after completing the payment attempt.
Authentication
This operation requires authentication via one of the following methods:
- Certificate authentication.
-
To authenticate to the API two additional NVP parameters must be supplied in the request.
Provide 'merchant.
<your gateway merchant ID>
' in the apiUsername field and your API password in the apiPassword field.
Request
Fields
String
= CREATE_CHECKOUT_SESSION
FIXED
Any sequence of zero or more unicode characters.
OPTIONAL
Details of the payer's billing address.
OPTIONAL
The payer's billing address.
This data may be used to qualify for better interchange rates on corporate purchase card transactions.
String
OPTIONAL
The city portion of the address.
Data can consist of any characters
String
OPTIONAL
The name of the company associated with this address.
Data can consist of any characters
Upper case alphabetic text
OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
OPTIONAL
The post code or zip code of the address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
String
OPTIONAL
The state or province of the address.
Data can consist of any characters
String
OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Data can consist of any characters
String
OPTIONAL
The second line of the address (if provided).
Data can consist of any characters
OPTIONAL
Information about any constraints that apply to this transaction.
Specify constraints to ensure that the transaction conforms to predefined criteria. This is useful if your integration does not directly collect all the transaction values (e.g. a session-based integration or a checkout integration).
String
OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Data can consist of any characters
OPTIONAL
Information about the customer, including their contact details.
Email
OPTIONAL
The email address of the customer.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
String
OPTIONAL
The payer's first name.
Data can consist of any characters
String
OPTIONAL
The payer's last or surname.
Data can consist of any characters
String
OPTIONAL
The contact person's mobile phone or cell phone number.
Data can consist of any characters
String
OPTIONAL
The phone number of the person to whom the order is being billed.
Data can consist of any characters
OPTIONAL
Information associated with the device's source of transaction.
String
OPTIONAL
The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.
Data can consist of any characters
String
OPTIONAL
The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.
Data can consist of any characters
String
OPTIONAL
The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.
Data can consist of any characters
OPTIONAL
Information that controls the payer's checkout interaction.
Boolean
OPTIONAL
Indicates if you wish to bypass payer authentication using the 3-D Secure Service.
By default, the payer is prompted to authenticate before performing the payment if configured for the 3-D Secure Service.
The values 'true' or 'false'. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#boolean.)
URI
OPTIONAL
The URL to which you want to redirect the payer's browser if they cancel their payment.
This could be a link to the payer's shopping cart, or the home page of your website.
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript
OPTIONAL
A group of objects that control the visibility of, and payer-interaction with, displayed information.
Enumeration
OPTIONAL
Indicates if you require the payer to provide their billing address during the payment interaction.
If you do not provide this field, the billing address will be optional.
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
READ_ONLY
Data is displayed but cannot be modified.
Enumeration
OPTIONAL
Indicates if you require the payer to provide the card security code for their card payment during the payment interaction.
If you do not provide this field, the card security code will be mandatory.
Value must be a member of the following list. The values are case sensitive.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
Enumeration
OPTIONAL
Indicates if you require the payer to provide their email address on the payment interaction.
If you do not provide this field, the payer's email address will be hidden.
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
READ_ONLY
Data is displayed but cannot be modified.
Enumeration
OPTIONAL
Indicates if you wish to display a summary of the order before the payer submits their payment.
If you do not provide a value for this field, the gateway defaults the value to SHOW.
Value must be a member of the following list. The values are case sensitive.
HIDE
Do not display order summary.
SHOW
Display order summary, which may include payment details.
SHOW_PARTIAL
Display order summary which may not include payment details.
Enumeration
OPTIONAL
Indicates if you want the payer to confirm the payment details before they submit the payment.
If you do not provide a value for this field, the gateway defaults the value to HIDE.
Value must be a member of the following list. The values are case sensitive.
HIDE
Do not display payment confirmation.
SHOW
Display payment confirmation.
Enumeration
OPTIONAL
Indicates whether you wish to hide payment terms for a payment plan during the payment interaction.
If you do not provide this field the payment terms for a payment plan will be displayed.
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides the payment terms from the payer. Note that offering Plan AMEX in some regions may require you to inform the payer of the payment terms before processing the payment.
SHOW_IF_SUPPORTED
Displays the payment terms, if available, to the payer.
Enumeration
OPTIONAL
Indicates if you wish to hide the shipping details on the payment interaction.
If you don't provide this field, shipping details will be displayed to the payer.
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
READ_ONLY
Data is displayed but cannot be modified.
String
OPTIONAL
The property ID for your shop site provided by Google Analytics in the form UA-XXXXX-Y.
Provide this ID if you want to track interactions with the checkout using Google Analytics. See www.google.com/analytics.
Data can consist of any characters
String
OPTIONAL
A language identifier or IETF language tag to control the language of the payment interaction with the payer (e.g. en_US, es, fr-CA).
By default, the language is determined from the payer's browser. Supply a value for this field only if you wish to override the default behavior. If the language you specify is not supported by the gateway, the payment is displayed in the best matching language.
Data must be a language identifier or IETF language tag
OPTIONAL
Information that allows you to display your brand and business details during the payment interaction.
OPTIONAL
Information on your business address.
String
OPTIONAL
The first line of your business address for display to the payer during the payment interaction.
Data can consist of any characters
String
OPTIONAL
The second line of your business address for display to the payer during the payment interaction.
Data can consist of any characters
String
OPTIONAL
The third line of your business address for display to the payer during the payment interaction.
Data can consist of any characters
String
OPTIONAL
The fourth line of your business address for display to the payer during the payment interaction.
Data can consist of any characters
Email
OPTIONAL
The email address of your business for display to the payer during the payment interaction (e.g. an email address for customer service).
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
URI
OPTIONAL
The URL of your business logo for display to the payer during the payment interaction.
The URL must be secure (e.g. https://yoursite.com/images/logo.gif). You can resize the image.However, the height must not exceed 140 pixels else it will be cropped. For best results, use images in JPEG or PNG formats with dimensions 140 width × 140 height (pixels).
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The URI must be one of the following schemes : https
String
REQUIRED
The name of your business for display to the payer on the payment interaction.
Data can consist of any characters
String
OPTIONAL
The phone number of your business for display to the payer during the payment interaction.
Data can consist of any characters
Enumeration
OPTIONAL
Indicates the operation that you wish to perform during the Hosted Checkout interaction.
Value must be a member of the following list. The values are case sensitive.
NONE
Hosted Checkout will collect the payment details from the payer and securely store them against the Hosted Checkout session. No operation will be performed after the payer interaction.
VERIFY
Request for the Hosted Checkout interaction to verify the payer's account. The payment details are verified using the verification method supported by the acquirer and the data provided in the request.
URI
OPTIONAL
The URL to which you want to return the payer after completing the payment attempt.
During the redirect, the gateway will append a resultIndicator parameter to this URL. This parameter determines the result of the payment. See Obtain the Payment Result section.
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript
Alphanumeric + additional characters
OPTIONAL
The theme used to control the look and feel of your checkout interaction.
If you do not provide this field the default theme is will be used.
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
String
OPTIONAL
Your payment service provider might have configured your merchant profile to support several lines of business.
Each line of business can have different payment parameters, such as bank account, supported cards or such.
For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.
Data can consist of any characters except space
String
REQUIRED
A unique identifier for this order to distinguish it from any other order you create.
Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.
Data can consist of any characters
String
OPTIONAL
If, when integrating with the gateway, you are using a solution (e.g. a shopping cart or e-commerce solution) provided, supported or certified by your payment service provider, enter the solution ID issued by your payment service provider here.
If your payment service provider has not provided you with a solution ID, you should ignore this field.
Data can consist of any characters
OPTIONAL
Information on the shipping address including the contact details of the addressee.
OPTIONAL
The address to which the goods contained in this order are being shipped.
This data may be used to qualify for better interchange rates on corporate purchase card transactions.
String
OPTIONAL
The city portion of the address.
Data can consist of any characters
String
OPTIONAL
The name of the company associated with this address.
Data can consist of any characters
Upper case alphabetic text
OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
OPTIONAL
The post code or zip code of the address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
String
OPTIONAL
The state or province of the address.
Data can consist of any characters
String
OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Data can consist of any characters
String
OPTIONAL
The second line of the address (if provided).
Data can consist of any characters
OPTIONAL
Details of the contact person at the address the goods will be shipped to.
Email
OPTIONAL
The contact person's email address.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
String
OPTIONAL
The first name of the person to whom the order is being shipped.
Data can consist of any characters
String
OPTIONAL
The last name or surname of the person to whom the order is being shipped.
Data can consist of any characters
String
OPTIONAL
The contact person's mobile phone or cell phone number.
Data can consist of any characters
String
OPTIONAL
The phone number of the person to whom the order is being shipped.
Data can consist of any characters
Enumeration
OPTIONAL
The shipping method code to indicate the time frame and the priority of the order.
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
OVERNIGHT
Overnight (next day).
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
OPTIONAL
Information about this transaction.
OPTIONAL
Additional information to be passed to acquirer.
String
OPTIONAL
Additional information requested by the acquirer which cannot be passed using other available data fields.
This field must not contain sensitive data.
Data can consist of any characters, but sensitive data will be rejected
String
OPTIONAL
This is the value provided to the acquirer to identify the order.
Ideally this will be the order.id, however if that value cannot be used directly, it will be transformed by the gateway to a unique value that the acquirer will accept. If that behavior is not suitable, you can directly provide the value in this field and it will be passed to the acquirer. You then take responsibility for its correctness. (Note: Contact your payment provider to see if this is supported for your acquirer).
Data can consist of any characters, but sensitive data will be rejected
Enumeration
OPTIONAL
Indicates the frequency of the transaction offered to the payer.
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
Indicates an installment transaction where the payer authorizes you to deduct multiple payments over an agreed period of time for a single purchase.
RECURRING
Indicates a recurring transaction where the payer authorizes you to automatically debit their accounts for bill or invoice payments.
SINGLE
Indicates a single transaction where a single payment is used to complete the order.
String
OPTIONAL
Your note about this transaction.
Data can consist of any characters
String
OPTIONAL
An optional identifier for this transaction.
Data can consist of any characters
Enumeration
OPTIONAL
Indicates the source through which you received the transaction.
Value must be a member of the following list. The values are case sensitive.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MOTO
Transaction received by mail or telephone.
String
OPTIONAL
The person who initiated this transaction.
For Merchant Administration, the person is identified by their logon name.
Data can consist of any characters
Response
Fields
String
CONDITIONAL
Your payment service provider might have configured your merchant profile to support several lines of business.
Each line of business can have different payment parameters, such as bank account, supported cards or such.
For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.
Data can consist of any characters except space
Alphanumeric + additional characters
ALWAYS PROVIDED
The unique identifier issued to you by your payment provider.
This identifier can be up to 12 characters in length.
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
Enumeration
ALWAYS PROVIDED
A system-generated high level overall result of the transaction/operation.
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown
ASCII Text
ALWAYS PROVIDED
The session identifier for the hosted payment.
Include this identifier in the checkout request if you wish to return the payer to the merchant's website after completing the payment attempt.
Data consists of ASCII characters
Enumeration
ALWAYS PROVIDED
A summary of the outcome of the last attempt to modify the session.
In order to perform an operation using this session this value must be SUCCESS.
Value must be a member of the following list. The values are case sensitive.
FAILURE
The last attempt to place data into the session was unsuccessful. The session may contain invalid data. A request operation using this session will be rejected by the payment gateway.
NO_UPDATE
No attempt has been made to place data into the session. A request operation using this session will be rejected by the payment gateway.
SUCCESS
The last attempt to update the session was successful. You may submit a request operation using this session.
ASCII Text
ALWAYS PROVIDED
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
See Making Business Decisions Based on Session Content.
Data consists of ASCII characters
ASCII Text
ALWAYS PROVIDED
An identifier to determine the success of the hosted payment.
The gateway will return this value in the resultIndicator parameter (appended to the returnUrl) for successful payments only. See Obtain the Payment Result section.
Data consists of ASCII characters
Errors
Information on possible error conditions that may occur while processing an operation using the API.
Enumeration
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
String
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Data can consist of any characters
String
Indicates the name of the field that failed validation.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Data can consist of any characters
String
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Data can consist of any characters
Enumeration
Indicates the type of field validation error.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.
Enumeration
A system-generated high level overall result of the operation.
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.